package com.hujiang.basic.search.common.converter.resp;

import org.elasticsearch.action.bulk.BulkItemResponse;
import org.elasticsearch.action.bulk.BulkResponse;
import org.springframework.stereotype.Component;

import com.hujiang.basic.search.common.converter.Converter;
import com.hujiang.basic.search.model.HJBulkResponse;
import com.hujiang.basic.search.model.HJBulkResponseItem;

@Component
public class BulkConverter implements Converter<BulkResponse, HJBulkResponse> {

    @Override
    public HJBulkResponse convert(BulkResponse in) {
        HJBulkResponse hjResp = new HJBulkResponse();
        for (BulkItemResponse item : in.getItems()) {
            HJBulkResponseItem respItem = new HJBulkResponseItem();
            respItem.setFailed(item.isFailed());
            respItem.setOpType(item.getOpType());
            respItem.setIndexInRequest(item.getItemId());
            respItem.setId(item.getId());
            if (item.isFailed()) {
                respItem.setFailureMessage(item.getFailureMessage());
            }
            hjResp.addItem(respItem);
        }
        return hjResp;
    }
}
